Call deinit functions.
authorrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Tue, 17 Sep 2002 15:08:55 +0000 (15:08 +0000)
committerrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Tue, 17 Sep 2002 15:08:55 +0000 (15:08 +0000)
Magproto: only deinit termio if we initted termio.

gpsbabel/Makefile
gpsbabel/magproto.c
gpsbabel/main.c

index 4282abfdb1993ff6abf0b3a9875d02a976b04011..1aac929d104c35b4da0c134f85662f37b02ce094 100644 (file)
@@ -2,7 +2,7 @@ CFLAGS=-g -Icoldsync
 
 FMTS=magproto.o gpx.o geo.o gpsman.o mapsend.o mapsource.o \
        gpsutil.o tiger.o pcx.o csv.o cetus.o gpspilot.o magnav.o \
-       psp.o mxf.o
+       psp.o mxf.o holux.o
 
 OBJS=main.o queue.o route.o waypt.o util.o vecs.o mkshort.o \
        coldsync/util.o coldsync/pdb.o $(FMTS)
index c84c0197f4d6c01a7383eba20c00d158cb79063b..fd1444afe5fb38b8f0e2579c14bd28fb58bb00b8 100644 (file)
@@ -472,7 +472,9 @@ terminit(const char *portname)
 static void
 termdeinit()
 {
-       tcsetattr(magfd, TCSANOW, &orig_tio);
+       if (!is_file) {
+               tcsetattr(magfd, TCSANOW, &orig_tio);
+       }
 }
 
 char * 
index dc58d66a9c8e53b03690999ff9f85140e665a61e..8976b7e21544f6abc4b57167a8a531c192aa3cc0 100644 (file)
@@ -80,6 +80,7 @@ main(int argc, char *argv[])
                                }
                                ivecs->rd_init(fname);
                                ivecs->read();
+                               ivecs->rd_deinit();
                                break;
                        case 'F':
                                ofname = optarg;
@@ -87,6 +88,7 @@ main(int argc, char *argv[])
                                if (ovecs) {
                                        ovecs->wr_init(ofname);
                                        ovecs->write();
+                                       ovecs->rd_deinit();
                                }
                                break;
                        case 's':